package com.sky.business.sys.param;

import com.sky.common.enums.Arch;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class NodeParam {

    /**
     * 主键ID
     */
    @Schema(description = "id")
    private Integer id;

    /**
     * 描述
     */
    @Schema(description = "描述")
    private String description;

    /**
     * 架构
     */
    @Schema(description = "架构")
    @NotNull(message = "架构不能为空")
    private Arch arch;

    /**
     * IP4地址
     */
    @Schema(description = "IPv4地址")
    @NotBlank(message = "节点IP地址不能为空")
    private String ipAddr;

    /**
     * 容器服务端口
     */
    @Schema(description = "容器服务端口 默认2375")
    @NotNull(message = "端口不能为空")
    private Integer containerPort;

    @Schema(description = "gpu数量")
    @NotNull(message = "gpu数量不能为空")
    private Integer gpuCount;

    /**
     * 分组id
     */
    @Schema(description = "分组ID")
    @NotNull(message = "分组ID不能为空")
    private Integer groupId;

    @Schema(description = "节点是否就绪")
    @NotNull(message = "节点是否就绪标志不能为空")
    private Boolean ready;

}
